package com.example.mapper;

import com.example.model.MessageInfo;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import java.util.List;

@Mapper // 标识这是MyBatis的Mapper接口，Spring Boot启动时会自动扫描并创建实现类
public interface MessageInfoMapper {

    /**
     * 查询所有未删除的留言信息
     * @Select注解：将方法映射到SQL查询语句
     * delete_flag = 0：只查询未删除的留言，实现逻辑删除
     */
    @Select("select * from message_info where delete_flag = 0")
    List<MessageInfo> selectAll();

    /**
     * 插入新留言
     * @Insert注解：将方法映射到SQL插入语句
     * #{from}：MyBatis参数占位符，会自动从messageInfo对象的from属性获取值
     * 使用反引号包裹字段名：因为from和to是SQL关键字
     */
    @Insert("insert into message_info(`from`, `to`, `message`) values(#{from}, #{to}, #{message})")
    Integer insertMessage(MessageInfo messageInfo);
}